package entity;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.OneToMany;

@Entity
@DiscriminatorValue("Veterinarian")
public class Veterinarian extends Person {
    private String focusOfPractice;
    private String specialities;
    private int salary;
    private String graduatedAt;
    @OneToMany(mappedBy = "Veterinarian", cascade = CascadeType.ALL)
    private List<Appointment> appointments = new ArrayList<>();

    public Veterinarian() {
        super();
    }

    public Veterinarian(String focusOfPractice, String specialities, int salary, String graduatedAt, String name, String lastname, String SSN, Date birthday) {
        super(name, lastname, SSN, birthday);
        this.focusOfPractice = focusOfPractice;
        this.specialities = specialities;
        this.salary = salary;
        this.graduatedAt = graduatedAt;
    }

    public void setFocusOfPractice(String focusOfPractice) {
        this.focusOfPractice = focusOfPractice;
    }

    public void setSpecialities(String specialities) {
        this.specialities = specialities;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }

    public void setGraduatedAt(String graduatedAt) {
        this.graduatedAt = graduatedAt;
    }

    public void setAppointments(List<Appointment> appointments) {
        this.appointments = appointments;
    }

    public String getFocusOfPractice() {
        return focusOfPractice;
    }

    public String getSpecialities() {
        return specialities;
    }

    public int getSalary() {
        return salary;
    }

    public String getGraduatedAt() {
        return graduatedAt;
    }

    public List<Appointment> getAppointments() {
        return appointments;
    }

}
